Секция описания моделей аппаратуры [Models]
Для каждого поставщика, указанного в секции [Manufacturer], должна быть представлена соответствующая секция описания моделей его аппаратуры [Models]. Имя данного типа секций не может быть жестко регламентировано, потому что разработчик сам задает его в секции [Manufacturer].
В каждой такой секции [Models] записи представляются по следующей форме:
device_description = install_section_name,hw_id[,compatible_id...]
где device_description представляет собой уникальный набор видимых символов либо маркер, обязательный для определения в секции [Strings]. Данная строка будет предъявляться пользователю во время инсталляционного диалога, так что имеет смысл позаботиться о поддержке нескольких языков.
Значение install_section_name представляет собой ссылку на секцию, описывающую собственно действия по инсталляции для данной модели (в документации DDK такого типа секции обозначены как [DDInstall]).
Значение hw_id является PnP идентификатором, возвращаемым аппаратным устройством во время опроса PnP-совместимой шины. Например, USB\VID_04B4&PID_1002 определяет плату тестового набора фирмы Cypress (так называемый EZUSB Kit). Любое количество значений compatible_id может быть приведено для обозначения того, что та же самая инсталляционная запись должна быть использована для указанного в этом списке устройства.
Применение одной и той же группы символов может сбить с толку начинающего разработчика inf-файлов. Рассмотрим показательный пример из DDK для Windows XP.
[Version] Signature = "$Windows NT$" ; inf-файл для установки только под NT Class=System ClassGUID={4d36e97d-e325-11ce-bfc1-08002be10318} Provider=%MSFT% DriverVer= 5/1/2001
[Manufacturer] %MSFT%=MSFT ; со знаками процента - маркер
[MSFT] %_MCADesc%=_MCA_Inst,_MCA0000
[_MCA_Inst.ntx86] CopyFiles = _MCA.Files.x86_12
[Strings] MSFT= "Microsoft" ; раскрываем маркер _MCADesc= "Microsoft MCA Driver"
В секции [Manufacturer] видим, что маркер %MSFT% "приравнивается" ссылке MSFT.